# # 创建集合
# # 1.可以使用大括号{}来进行创建
# s =  {1,2,3,4}
# # 2.使用set()函数来进行创建， int(), float(), print(), input()
# ss = set ('1234')
# print(type(s))
# print(type(ss))
# #
# 
# # 集合的添加和删除
# # 集合元素add()
# s.add(6)
# print(s)
# # 删除集合只能怪的第一个元素pop()
# s.pop()
# print(s)
# # 删除集合中的元素remove()
# remove(4)
# print(s)
# 
# 
# # 创建元组
# # 创建空元组
# tuple1 = ()
# print(tuple1)
# # 创建带有元素的元组，可以有元素类型
# tuple2 = (1, "a", 3, "hello",2.2)
# print(tuple2)
# # 创建至于一个元素的元组
# tuple3 = (1,)
# print(tuple3)
# print(type(tuple3))
# 
# 
# # 语法格式：tuple(数据)
# # 将字符串转换成元组[]
# tuple1 = tuple('hello,world')
# print(tuple1)
# 将列表转换成元组[]
# list1 = ['python', 'Java', 'C++', 'C']
# tuple2 = tuple(list1)
# print(tuple2)
# 
# 
# # 修改元组元素
# t1 = (1, 2, 3)
# t2 = ('a', 'b', 'c')
# # 连接组合
# t3 = t1 + t2
# print(t3)
# # 删除元组del+元组名
# t2 = (1, 2, 3)
# print(t2)
# del t2
# print(t2)
# # 使用input方法输入联系人。电话,邮件地址
# n  = input('请输入联系人姓名')
# t  =input('电话')
# e = input('邮箱')
# a = input('地址')
# t1 = ("姓名：", n, "电话：",t, "邮箱：",e, "地址：",a)
# print(t1)
#
# 
# # 列表创建
# # 1.使用[]直接创建表格
# l1 = []
# print(l1)
# # 创建带元素的列表
# l2 = [1, 2, "python", "java"]
# print(l2)
# print(type(l2))
#
# 
# # 2.使用list()函数将其他类型数据(字符串.元组)转换为列表
# # 创建空列表
# l3 = list()
# print(l3)
# # 将字符串转化列表
# l4 = list("h")
# print(l4)
# # 将元组转换列表
# t5 = tuple("h")
# print(t5)
# l5 = list(t5)
# print(l5)
# # 将range函数转化列表
# l6 = list(range(5))
# print(l6)
# 
# 
# # 访问列表中的元素
# # 索引进行访问单个元素
# l7 = [1 ,2 , 3, 4,'p', 'w', 'r']
# # 正索引
# print(l7[4])
# # 负索引
# print(l7[-2])
# 
# 
# # 使用正数切片截取索引为2,3,4的元素,默认步长为1
# l8 = ['p', 'y','t','h', 'o', 'n']
# print(l8[2:5])
# # 前三
# print(l8[:3])
# # 后三
# print(l8[3:])
# # 使用正数切片截取索引为1--5的元素，步长为2
# print(l8[1::2])
# # 负数切片
# print(l8[-3:-1])
# # 步长如果是负数，即从右向左提取元素
# print(l8[::-1])
# 
# 
# # 使用for循环遍历列表
# l9 = [1,2,3,4, "p", 'j', 'c']
# for i in l9:
#     print(i)
# 
# # 修改单个元素
# l10 = [10, 56, 34, 2, 56, 44, 7]
# # 将索引为2的元素值修改为100
# l10[2] = 100
# print(l10)
#
# # 修改多个元素
# l11 = [10,56,34,2,56,44,7]
# # 修改1--4个元素的值
# l11[1:4] = [45,-56,98]
# print(l11)
#
# 
# # append()用于在列表末尾追加元素
# l12 = ['a', 'b', 'c']
# l12.append('f')
# print(l12)
# # 列表添加列表
# l12.append(['e','f'])
# print(l12)
#
# 
# # extent()在列表的末尾一次添加多个元素
# l13 = ['a', 'b', 'c']
# l13.extend('d')
# print(l13)
# # 列表添加列表
# l13.extend(['e','f','g','h'])
# print(l13)
# l13.extent('world')
# print(l13)
# 

# l14 = ['p', 'c','j']
# # 插入元素，在索引为2处插入go元素
# l14.insert(2, 'go')
# print(l14)

# 
# # # 删除元素
# # remove删除除
# l15 = ['a' 'b' 'c' 'd' 'e']
# l15.remove('b')
# print(l15)
# # 删除最后一个元素
# l16 = [10, 2, 4, 6, 8, 'a']
# l16.pop(3)
# print(l16)
# 
# 
# l17 = ['a', 'b', 2, 3, 5, 9]
# # del 删除单个元素3
# del l17[4]
# print(l17)
# # del删除一段连续元素，使用切片形式
# del l17[1: 3]
# print(l17)
# # 清空列表用clear()方法
# l18 = [6, 8, "a", 0]
# l18.clear()
# print(l18)


# # # 任务
# # # 创建两个空列表name_list和phone_list，用于存储联系人姓名和电话；
# # # 向列表中添加联系人信息；
# # # 输入联系人编号修改信息；
# # # 输入联系人编号删除信息；
# # # 使用clear()清空通讯录。name_list=['张三'， ’李四', '王五', ‘maliu'],phone_list=[123, 236, 258, 598]
name_list = []
phone_list = []
while 1:
    print("菜单： 1.添加联系人 2.修改联系人 3.删除联系人 ")
    chioce = input("请输入选择")
    # 1.添加联系人，包括姓名，手机号
    if chioce == "1":
        name_list.append(input("添加联系人姓名："))
        phone_list.append(input("添加联系人手机号："))
        print(name_list)
        print(phone_list)
        # 2.修改联系人信息
    elif chioce == "2":
        num = int(input("请输入联系人编号"))
        if len(name_list) > 0 and num <= len(name_list):
            name_list[num - 1] = input("修改联系人姓名")
            phone_list[num - 1] = input("修改联系电话")
        else:
            print("联系人编号输入有误")
            # 3.删除联系人信息
    elif chioce == "3":
        num = int(input("请输入联系人编号"))
        if len(name_list) > 0 and num <= len(name_list):
            name_list.pop(num-1)
            phone_list.pop(num - 1)
        else:
            print("联系人编号有误")
    else:
        print("显示联系人信息")
        print(name_list)
        print(phone_list)
#
# # 查找元素 index()列表名.index[要查找的元素，索引起始位置，索引结束位置]
# ls1 = [1, 5, 7, "a", 'a', 'c', 'b', 6, 4, 1]
# print(ls1.index('a'))
# print(ls1.index('a',4))
# print(ls1.index('c', 3, 7))


# # count()方法用来统计某个元素在列表中出现的次数列表名。coun(统计的value元素)
# ls2 = [1,3,5,7,"a", 'b', 8, 3,'b',2, 5 ,5, 7, 1]
# print(ls2.count(8))
# print(ls2.count(5))
# print(ls2.count('f'))


# # 1.元素是字符串的排序
# ls3 = ['1', '3', '44', '23', '99', '88', '56', '233']
# # 默认升序，reverse=False,不写
# ls3.sort()
# print(ls3)
# # 降序reverse=True
# ls3.sort(reverse=True)
# print(ls3)
#
# 
# # 2.元素是数值的排序
# ls4 =[1, 3, 44, 23, 99, 88, 56, 233]
# # 默认升序
# ls4.sort()
# print(ls4)
# # 降序reverse=True
# ls4.sort(reverse=True)
# print(ls4)
# 
# # 字典元素的访问
# # 1.字典名[key]
# d5 = {'数学':95, '英语': 92, '语文': 84}
# # 建存在
# print(d5['数学'])
# # 建不存在，引发一个keyerror错误
# print(d5['python'])
#
#
# # 2.get()方法来获得指定键对应的值。语法格式：字典名。ge(key[defauit])
# d6 = {'数学':95, '英语':92, '语文': 84}
# print(d6.get('英语'))
# print(d6.get('python'))
# print(d6.get('python',  '该件不存在'))
#
# 
# # 字典添加键值对
# d7 = {'数学':95, '英语':92, '语文':84, 'python': 99}
# d7['可视化'] = 100
# print(d7)
# #
# 
# # 字典修改键值对
# d8 = {'数学':95, '英语':92,'语文':84, 'python': 99}
# d8['语文'] = 100
# print(d8)
# 
# 
# # 字典删除键值对
# # 1.使用del关键字
# d9 = {'数学':95, '英语':92, '语文':84, 'python':99}
# del d9['语文']
# print(d9)
# # 2.使用pop()方法
# d9.pop('数学')
# print(d9)